// 1. 导包 ----------------------------------------------
 const express = require('express');
 const bodyParser = require('body-parser');
 const cookieParser = require('cookie-parser');

// 2. 注册 应用程序  ----------------------------------------
const app = express();

// 3. 暴露 静态资源文件夹 -------------------------------------
app.use(express.static('./web'));

// 4. 注册 中间件  ----------------------------------------------------
// 注册 body-parser中间件
app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());
// 注册 cookie-parser中间件
app.use(cookieParser());

// 5. 注册  登录路由  ---------------------------------------------------
app.post('/login', (req, res)=>{ 
    if(req.body.usrname == 'admin' && req.body.pwd == 123456){
         // 验证通过后，通过 响应报文对象 往  浏览器 发送一个 cookie
        res.cookie('usrname', req.body.usrname, {maxAge: 1000 * 60 * 1});
        res.send({
            code: 200,
            msg: '登录成功'
        });
    } else {
        res.send({
            code: 400,
            msg: '用户名或密码错误'
        });
    }
});

// 6. // 列表 路由，返回 一些数据给浏览器  -------------------------------------
// 要求：只有 登录过的 浏览器 才能访问，没登录就跳转到登录页面
app.get('/list', (req,res)=>{
    // 服务器端 获取cookie
    console.log(req.cookies); 
    if(req.cookies.usrname == undefined){
        res.send("<script>alert('你尚未登录');window.location = './login.html'</script>");
    } else {
        res.send('欢迎浏览本网站' + req.cookies.usrname);
        console.log(req.cookies.usrname);
    }
});

// 7. 启动服务器程序  -------------------------------------------------
const PORT = 8080;
app.listen(PORT, (err)=>{
    if(err == null){
        console.log('服务器启动成功' + PORT);
    } else {
        console.log('启动失败' + err.message);
    }
})
